IAMユーザーのパス設定を変更してみる
IAM ユーザーのパス設定は変更できないと思い込んでいたのですが、変更できることを知ったので試してみました。
試してみる
IAM ユーザーを次の設定で作成した後にパス名を変更してみます。
- IAM ユーザー名:
test-user
- パス:
/test-path/
IAM ユーザーの作成
AWS CloudShell で IAM ユーザーを作成します。
$ aws iam create-user --path "/test-path/" --user-name test-user { "User": { "Path": "/test-path/", "UserName": "test-user", "UserId": "AIDA5VOZMRYTBH2VCG5UK", "Arn": "arn:aws:iam::111122223333:user/test-path/test-user", "CreateDate": "2022-08-19T14:47:57+00:00" } }
IAM ユーザーを作成済みの場合はget-user
で確認できます。
aws iam get-user --user-name test-user { "User": { "Path": "/test-path/", "UserName": "test-user", "UserId": "AIDA5VOZMRYTBH2VCG5UK", "Arn": "arn:aws:iam::111122223333:user/test-path/test-user", "CreateDate": "2022-08-19T14:47:57+00:00" } }
次に、AWS 管理ポリシーPowerUserAccess
をアタッチします。
$ aws iam attach-user-policy --user-name test-user --policy-arn arn:aws:iam::aws:policy/PowerUserAccess
アタッチしたポリシーを確認します。
$ aws iam list-attached-user-policies --user-name test-user { "AttachedPolicies": [ { "PolicyName": "PowerUserAccess", "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess" } ] }
さいごに、IAM ユーザーの初期パスワードを設定します。
$ aws iam create-login-profile --user-name test-user --password ************ --password-reset-required { "LoginProfile": { "UserName": "test-user", "CreateDate": "2022-08-19T14:56:07+00:00", "PasswordResetRequired": true } }
IAM ユーザーのパス設定の変更
パスを/test-path-2/
に変更してみます。変更はupdate-user
コマンドで行います。
update-user — AWS CLI 1.25.56 Command Reference
$ aws iam update-user --user-name test-user --new-path "/test-path-2/"
変更後のパス設定を確認した結果、/test-path-2/
になっていることを確認できました。
$ aws iam get-user --user-name test-user { "User": { "Path": "/test-path-2/", "UserName": "test-user", "UserId": "AIDA5VOZMRYTBH2VCG5UK", "Arn": "arn:aws:iam::111122223333:user/test-path-2/test-user", "CreateDate": "2022-08-19T14:47:57+00:00" } }
なお、IAM ロールの場合はupdate-role
コマンドに--new-path
オプションがなく、パスを変更できないことが分かります。
update-role — AWS CLI 1.25.56 Command Reference
さいごに
IAM ユーザーのパス設定は変更できないと思い込んでいたところ、同僚から変更できることを教えていただいたため試してみました。
このブログがどなたかのご参考になれば幸いです。
参考情報
AWS CLI からの AWS Identity and Access Management の使用 - AWS Command Line Interface